The field of the present invention pertains to audio-video systems. More particularly, the present invention pertains to implementing standardized software based message dispatching system for devices coupled in a home audio/video network.
A typical home audio/video equipment set up includes a number of components. For example, a radio receiver, a CD player, a pair of speakers, a television, a VCR, a tape deck, and alike. Each of these components are connected to each other via a set of wires. One component is usually the central component of the home audio/video system. This is usually the radio receiver, or the tuner. The tuner has a number of specific inputs for coupling the other components. The tuner has a corresponding number of control buttons or control switches which provide a limited degree of controllability and interoperability for the components. The control buttons and control switches are usually located on the front of the tuner. In many cases, some, or all, of these buttons and switches are duplicated on a hand held remote control unit. A user controls the home audio/video system by manipulating the buttons and switches on the front of the tuner, or alternatively, manipulating buttons on the hand held remote control unit.
This conventional home audio/video system paradigm has become quite popular. As consumer electronic devices become more capable and more complex, the demand for the latest and most capable devices has increased. As new devices emerge and become popular, the devices are purchased by consumers and xe2x80x9cpluggedxe2x80x9d into their home audio/video systems. Generally, the latest and most sophisticated of these devices are quite expensive (e.g., digital audio tape recorders, DVD players, digital camcorders, and alike). As a consumer purchases new devices, most often, the new device is simply plugged into the system alongside the pre-existing, older devices (e.g., cassette tape deck, CD player, and the like). The new device is plugged into an open input on the back of the tuner, or some other device couple to the tuner. The consumer (e.g., the user) controls the new device via the control buttons on the tuner, via the control buttons and control switches on the front of the new device itself, or via an entirely new, separate, respective remote control unit for the new device.
As the number of new consumer electronics devices for the home audio/video system have grown and as the sophistication and capabilities of these devices have increased, a number of problems with the conventional paradigm have emerged. One such problem is incompatibility between devices in the home audio/video system. Consumer electronic devices from one manufacturer often couple to an audio/video system in a different manner than similar devices from another manufacturer. For example, a tuner made by one manufacturer may not properly couple with a television made by another manufacturer. Within conventional home audio/video systems, there is not a standardized way of coupling devices such that they interact predictably and reliably. This is especially true in the case of coupling devices from different manufacturers.
Another problem is the lack of standardized methods of enabling and facilitating communication between the devices coupled within the home audio/video system. For example, different devices often include their own unique formats for enabling communication with other devices. Devices from different manufacturers often use different formats for communication. For example, a VCR from one manufacturer is often unable to communicate with the television from another manufacturer. In the past, there existed no standardized method for interconnecting various devices into a seamless home audio/video network.
The emergence of networking and interface technology (e.g., IEEE 1394 serial communication bus and the wide spread adoption of digital systems) offers prospects for correcting these problems. The dynamic capability of 1394 makes it an idea physical media for interconnecting audio/video devices in a home network. The IEEE 1394 technology provides an architecture capable of offering a flexible distributed peer-to-peer software framework that consumer electronics companies can use to develop home audio/video devices and applications/features for those devices that were not feasible previously. Such applications/features include true plug-and-play, fully automated device self-configuration, and the like.
While the emergence of powerful networking and interface technology (e.g., IEEE 1394 serial communication bus and the wide spread adoption of digital systems) offers prospects for correcting the above problems, there is still no coherent, open, extensible architecture which can provide for a standardized, intelligent, self configuring, easily extensible architecture which facilitates the efficient transmission and reception of data messages between various components/devices of the home audio/video network.
There is no standardized architecture for ensuring reliable, efficient communication between the various software and hardware components within the home audio/video network. For example, while various home audio/video network solutions involve the use of IEEE 1394 as the basic transport layer of a network communications system, none provide a system for ensuring the seamless transmission and reception of data messages between the various software/hardware components within the home audio/video network, especially in those cases where the various software components may be distributed among different hardware platforms (e.g., devices) coupled to the home audio/video network.
Accordingly, the present invention provides a novel method and system that implements a standardized, intelligent, self configuring, easily extensible architecture operable to ensure the efficient transmission and reception of data messages between various components/devices of a home audio/video network. The present invention provides a standardized architecture for ensuring reliable, efficient communication between the various software and hardware components within the home audio/video network and ensures the seamless transmission and reception of data messages between software/hardware components. In addition, the present invention ensures the seamless transmission and reception of data messages in implementations where the various software components may be distributed among different hardware platforms coupled to the home audio/video network.
In one embodiment, the present invention is implemented as a software based architecture that routes received messages to a proper software controller resident in a home audio/video network of connected network devices. The software component that ensures the proper routing is referred to as the communications media manager (CMM). The CMM functions as a gateway for sending and receiving messages to and from various network devices in a HAVI (home audio/video interoperability) network. More specifically, the present invention provides an effective dispatching mechanism for properly routing received messages to a software controller among a plurality of software controllers resident on a network device.
The CMM executes on an embedded computer system within an intelligent device (e.g., a set-top box) coupled to the HAVI network. The computer system of the intelligent device also hosts several software based controllers, referred to as device control modules (DCMs) and function control modules (FCMs), that provide a software based abstraction of the various devices coupled to the HAVI network. The software controllers communicate with their respective devices on the network via a message passing system. The CMM ensures messages are routed to the proper devices and software controllers.
In operation, when a message is received from the HAVI network by the CMM, the CMM examines the received message to determine a memory space indication and a source device identification stored therein. The CMM then determines whether any software controllers associated with the device match the memory space indication. Provided that only one software controller matches the memory space indication, the received message is dispatched to the one software controller. Provided that more than one software controller matches the memory space indication, the received message is dispatched to that software controller that is also associated with the source device identification of the received message. In the case of a conflict between a particular DCM and the host device""s Self-DCM, the Self-DCM takes priority. In so doing, CMM and its communications architecture ensures reliable, efficient communication between the various software and hardware components within the HAVI network, and ensures seamless transmission and reception of datamessages there between.